Пагінація та сортування
📌 Додавання пагінації
Для оптимізації виводу великої кількості записів використовуємо Pageable.
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/books")
public class BookController {
private final BookService bookService;
public BookController(BookService bookService) {
this.bookService = bookService;
}
@GetMapping("/paged")
public Page getBooksPaged(Pageable pageable) {
return bookService.getBooksPaged(pageable);
}
}
🛠 Реалізація у сервісному шарі
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
@Service
public class BookService {
private final BookRepository bookRepository;
public BookService(BookRepository bookRepository) {
this.bookRepository = bookRepository;
}
public Page getBooksPaged(Pageable pageable) {
return bookRepository.findAll(pageable);
}
}
Назад Далі